﻿using System;

namespace Studio
{
	// Token: 0x02000499 RID: 1177
	public abstract class ObjectCtrlInfo
	{
		// Token: 0x06001D6C RID: 7532
		public abstract void OnDelete();

		// Token: 0x06001D6D RID: 7533
		public abstract void OnAttach(TreeNodeObject _parent, ObjectCtrlInfo _child);

		// Token: 0x06001D6E RID: 7534
		public abstract void OnDetach();

		// Token: 0x06001D6F RID: 7535
		public abstract void OnDetachChild(ObjectCtrlInfo _child);

		// Token: 0x06001D70 RID: 7536
		public abstract void OnSelect(bool _select);

		// Token: 0x06001D71 RID: 7537
		public abstract void OnLoadAttach(TreeNodeObject _parent, ObjectCtrlInfo _child);

		// Token: 0x06001D72 RID: 7538
		public abstract void OnVisible(bool _visible);

		// Token: 0x06001D73 RID: 7539 RVA: 0x000BB0B8 File Offset: 0x000B92B8
		public virtual void OnSavePreprocessing()
		{
			if (this.objectInfo != null && this.treeNodeObject != null)
			{
				this.objectInfo.treeState = this.treeNodeObject.treeState;
			}
			if (this.objectInfo != null && this.treeNodeObject != null)
			{
				this.objectInfo.visible = this.treeNodeObject.visible;
			}
		}

		// Token: 0x17000313 RID: 787
		// (get) Token: 0x06001D74 RID: 7540 RVA: 0x000BB12C File Offset: 0x000B932C
		public int kind
		{
			get
			{
				return (this.objectInfo == null) ? -1 : this.objectInfo.kind;
			}
		}

		// Token: 0x17000314 RID: 788
		// (get) Token: 0x06001D75 RID: 7541 RVA: 0x000BB14C File Offset: 0x000B934C
		// (set) Token: 0x06001D76 RID: 7542 RVA: 0x000BB154 File Offset: 0x000B9354
		public virtual float animeSpeed { get; set; }

		// Token: 0x04001FC4 RID: 8132
		public ObjectInfo objectInfo;

		// Token: 0x04001FC5 RID: 8133
		public TreeNodeObject treeNodeObject;

		// Token: 0x04001FC6 RID: 8134
		public GuideObject guideObject;

		// Token: 0x04001FC7 RID: 8135
		public ObjectCtrlInfo parentInfo;
	}
}
